
import org.apache.ibatis.annotations.Param;
import java.util.List;



/**
* ${classInfo.classComment}
* @author ${authorName}
* @date ${.now?string('yyyy/MM/dd')}
*/
@Mapper
@Repository
@SuppressWarnings("rawtypes")
public interface ${classInfo.className}Dao{

    /**
    * [新增]
    * @author ${authorName}
    * @date ${.now?string('yyyy/MM/dd')}
    **/
    public int insert (@Param("${classInfo.className?uncap_first}")${classInfo.className}DO ${classInfo.className?uncap_first});
    /**
    * [新增]
    * @author ${authorName}
    * @date ${.now?string('yyyy/MM/dd')}
    **/
    public int insertSelective (@Param("${classInfo.className?uncap_first}")${classInfo.className}DO ${classInfo.className?uncap_first});
    /**
    * [批量新增]
    * @author ${authorName}
    * @date ${.now?string('yyyy/MM/dd')}
    **/
    public int batchInsert (@Param("iterable")Iterable iterable);

    /**
    * [刪除]
    * @author ${authorName}
    * @date ${.now?string('yyyy/MM/dd')}
    **/
    public int delete (@Param("${classInfo.className?uncap_first}")${classInfo.className}DO ${classInfo.className?uncap_first});

    /**
    * [更新]
    * @author ${authorName}
    * @date ${.now?string('yyyy/MM/dd')}
    **/
    public int update (@Param("${classInfo.className?uncap_first}")${classInfo.className}DO ${classInfo.className?uncap_first});
    /**
    * 根据主键修改不为空的数据
    * @author ${authorName}
    * @date ${.now?string('yyyy/MM/dd')}
    **/
    public int updateSelective (@Param("${classInfo.className?uncap_first}")${classInfo.className}DO ${classInfo.className?uncap_first});

    /**
    * 根据输入条件查询数据
    * @author ${authorName}
    * @date ${.now?string('yyyy/MM/dd')}
    **/
    public List<${classInfo.className}DO > query (@Param("${classInfo.className?uncap_first}")${classInfo.className}PageForm  ${classInfo.className?uncap_first},@Param("ew") CustomConditionForm ew,
    @Param("orderBy") String orderBy);
    /**
    * 根据输入条件不分页查询数据
    * @author ${authorName}
    * @date ${.now?string('yyyy/MM/dd')}
    **/
    public List<${classInfo.className}DO > queryList (@Param("${classInfo.className?uncap_first}")${classInfo.className}PageForm  ${classInfo.className?uncap_first},@Param("ew") CustomConditionForm ew,
        @Param("orderBy") String orderBy);

<#--        /**
    * 根据输入条件查询数据总数
    * @author ${authorName}
    * @date ${.now?string('yyyy/MM/dd')}
    **/
    public long queryCount (@Param("${classInfo.className?uncap_first}")${classInfo.className}PageForm  ${classInfo.className?uncap_first});-->
    /**
    * 根据指定字段的值查询数据
    * @author ${authorName}
    * @date ${.now?string('yyyy/MM/dd')}
    **/
    public ${classInfo.className}DO findById (@Param("id")Long id);
    /**
    * 根据指定字段的值查询数据
    * @author ${authorName}
    * @date ${.now?string('yyyy/MM/dd')}
    **/
    public List<${classInfo.className}DO> findByIdIn (@Param("iterable")Iterable iterable);

        /**
        * 【方法名】批量更新
        * @author ${authorName}
        * @date ${.now?string('yyyy/MM/dd')}
        **/
        int batchUpdate(@Param("iterable") Iterable list);


}
